package com.eblacorp.archive.security.ldap.dao;

import java.util.List;

import javax.naming.InvalidNameException;

import com.eblacorp.archive.security.ldap.model.Contact;
import com.eblacorp.archive.security.ldap.model.Group;
/**
 * @author Mahmoud.Ezzat
 * 
 */
public interface ContactDao {
	void create(Contact contact) throws InvalidNameException;

	void delete(Contact contact) throws InvalidNameException;

	List<String> listAllContactsNames();

	List<Contact> searchContact(String searchTerm);
	
	Contact findContactBySAMName(String sAMName);

	List<Contact> listContacts();
	
	void addContactToUOGroup(Contact contact, Group group);
	
	void removeContactToUOGroup(Contact contact, Group group);
}
